perm filename HUM[1,JRA] blob sn#595743 filedate 1981-06-20 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00009 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00003 00003			  A Rationale for "Computing and Culture"
C00017 00004		      A DETAILED OUTLINE OF "COMPUTERS AND CULTURE"
C00020 00005
C00023 00006
C00026 00007
C00029 00008
C00032 00009				      QUALIFICATIONS
C00037 ENDMK
C⊗;

terry,

Attached is a course outline that I proposed to do next fall at Santa Clara
University. Due to some bureaucratic soft-shoe work, it's stalled for at least
six-months. Doug Hofstatder suggested that you might know of a nitch
at Stanford that would  fit it. It's a cross between "Mindstorms" and "GEB",
doing a "no bullshit" computer literacy course for undergraduates.

Any suggestions or comments on the approach would also be welcome.


						John Allen  JRA@SU-AI

		  A Rationale for "Computing and Culture"

In the past, there have been several examples of individuals who have been  able
to present potentially  complex ideas in  a broad setting  that illuminates  the
kernel notions while not diminishing their intellectual rigor.

Robert Pirsig, in "Zen and the  Art of Motorcycle Maintenance", used the  medium
of a novel to present and discuss deep philosophical issues.

Douglas Hofstadter's Pulitzer  Prize winning non-fiction  work, "Godel,  Escher,
Bach", made deep results in mathematics  and logic accessible to people who  had
no prior inkling of the elegance and beauty of mathematics.

I have designed this course  with the same goal: here  to expose novices to  the
essential beauty of  mathematics, logic,  and computation using  the vehicle  of
interactive computing and personal  computers. Within this "scientific"  context
one must also  address the  "humanistic" issues:  the impact  of computing,  and
machines in general, on society.  Some of these issues have been of concern  for
centuries; others are a product  of the computer age.  It is cause for  optimism
that such a course is desired now, for we have an opportunity to de-fuse another
potential arts/science conflict.  The personal  computer may be  used to  merge,
rather than split, the  concerns of the humanist  and the technologist. That  is
the ultimate purpose of this course.

The course content,  therefore flows  from a logical  (mathematical) basis  that
explicates the notions of computation and establishes common terminology, to the
humanistic concerns that relate to the application of these notions.  To resolve
this tension between scientific and humanistic perspectives, we use the personal
computer. This device --the computational device most likely to be of concern to
the individual in the future-- is used to exemplify the notions and substantiate
the claims that appear in the  scientific portion; further, the machines can  be
used to  help  dispell  misconceptions  about  the  power  (or  lack  of  power)
attributed to  computers,  as well  as  demonstrate the  applications  that  the
participants will  encounter  outside  the  University.   Thus,  an  interactive
programming laboratory, based on personal machines, is an integral part of  this
course.

The following, is a short, tentative, description of the course outline.
In this course:
 (1) we use "Zen"  to set the tone:  the philosophical relationship between  art
      and science;

 (2) we use  parts of  "Godel, Escher,  Bach" to  discuss some  ideas in  Truth,
      Deduction, and Computation.

 (3) we use "Mindstorms" as an overview  of how personal computing can supply  a
      non-threatening  but  educational  tool.  The  language  of   "Mindstorms"
      --LOGO-- is no  toy; it  is the  basis of the  current program  at MIT  to
      revise their undergraduate mathematics and physics curricula.

 (4) we  dip  into the  arts  and sciences  for  perspectives on  the  computing
      phenomenon.  This includes reading Weizenbaum's "Computer Power and  Human
      Reason",  selections   from   Mumford's   "Technics   and   Civilization",
      Georgescu-Roegen's "Analytical Ecomonics", and Spengler's "Decline of  the
      West". And finally,

 (5) the technical substance underlying this discussion is based on my lectures.
      I draw  this material  from  my background  in theoretical  and  practical
      mathematics and  computer science.   We  build from  LOGO to  a  LISP-like
      language that is adequate to expose the computational ideas that implement
      the LOGO  notions. These  ideas are  at the  heart of  the concept  called
      "object-oriented programming" --a modern notion  of computing that is  the
      basis of the newest computer  architectures and programming languages.  On
      the software  side,  we elaborate  on  the LISP/LOGO  model  to  introduce
      Smalltalk-80  --Xerox's  personal  computer  language  that  is  used  for
      education as well as office automation.

 (6) we combine perspectives to  examine the technical and philosophical  issues
      related to the construction of "artificially intelligent" systems: how  is
      it attempted? Are  the results  shallow or deep;  potentially positive  or
      negative?

 (7) finally,  we  expect to  supply  guest speakers  to  help place  the  class
      material in perspective.



Within this context, we have access to a special version of LOGO devloped at MIT
for the Apple II personal computer.   This gives the student the opportunity  to
explore non-trivial  applications of  interactive graphical  programming  ideas.
Furthermore, several  excellent software  systems are  available for  the  Tandy
Radio Shack Model II computer. My  current recommendation would be for a  "local
network" utilizing  both Apple  II and  TRS  Model II  computers; such  a  local
network,  supplying  communication   and  pooled   resources,  is   commercially
available.

I have been developing the  material for a course like  this for over a  decade,
with the mathematical side converging first, and the philosophical concerns only
beginning to be  well-founded in  the last  few years,  and in  some cases,  few
months. At Santa Clara, much the material has been refined through two  graduate
classes and the spring undergraduate offering,  EECS129.  I am pleased with  the
current content and continuity; I feel the material is ready, and current events
say that the society is  ready. It is encouraging to  see that the University is
ready too.

I expect high standards in both philosophical and technical performance; and  we
will deal heavily in both issues. The  course is designed to challenge the  best
in  students;  it  is  not  a  "watered  down"  technical  presentation;  it  is
self-contained approach  that  any concerned  individuals  can call  their  own.
Those who complete this course will have:

(1) an   understanding   of  fundamental  computing  ideas  that  will  outlive
      transient technology.
(2) an understanding of how those ideas relate to the technology that they see.
 
(3) experienced personal computing in a  context that  they may pursue on their
      own if they so desire.



			       Bibliography

Required reading:

 Zen and the Art of Motorcycle Maintenance -- Robert Pirsig
   A novel dealing with an analysis and resolution of the conflicts between  the
   Arts and Sciences.

 Mindstorms: Children, Computers, and Powerful Ideas -- Seymour Papert
   A detailed report on the  educational applications of the personal  computing
   language, LOGO. Emphasis  is on  the opportunity  to use  computing to  teach
   thinking; in particular, to address the problems of "mathophobia".

 Class notes -- John Allen
   On computing, LISP, LOGO, Smalltalk, AI, applications, and philosophy.

 Computer Power and Human Reason -- Joseph Weizenbaum 
   A discussion of some issues related to computation, particularly the possible
   misuses of artificial intelligence.

Partial readings:

 Godel, Escher, Bach: An Eternal Golden Braid  -- Douglas Hofstadter 
   A recent  Pulitzer  prize-winning non-fiction  work,  relating  mathematical,
   musical, and artistic notions.

 Decline of the West, Vol 1: Form and Actuality  -- Oswald Spengler 
   A massive treatment of culture and  history. The major issue for this  course
   is his treatment  of a  culture's perspective in  terms of  its treatment  of
   mathematical ideas.

 Analytical Economics -- Nicholas Georgescu-Roegen
   The introduction  --expanded  later to  a  book,  "The Entropy  Law  and  the
   Economic Process"-- deals  with fundamental issues  in science,  mathematics,
   and physics.  Of particular interest is his clarification of the  differences
   between the  mechanistic  view that  typifies  traditional science,  and  the
   dialectial notions (fuzzy) that are finding their place in modern physics: an
   elegant technical discussion of the notions of quantity and quality.

 Technics and Civilization -- Lewis  Mumford
   A history of machines and an examination of their impact on society.

Sense of the Future --Jacob Bronowski
  Science and Human Values, and Knowledge and Imagination are also quite worthwhile

	      A DETAILED OUTLINE OF "COMPUTERS AND CULTURE"

WEEK 1: COURSE OVERVIEW AND PERSPECTIVE ON COMPUTING

Reading: "Zen and the Art of Motorcycle Maintenance"
         "Mindstorms", Chapters 1-3

Lab:  LOGO 
      Mince: a display-based word-processor

Lectures:

 Methodology vs. Style in human endeavor
  interactive composition vs. programming
    composition
     creative rhetoric
      the rationale: improved expression
      the tools: instrument-like 
      the effect: ego-less composition

 Programming
     what does programming represent?
      ways of thinking (algorithmically)
       simulation of complex phenomena
     can programmers be literate?
       literacy=?

 Notation
 	The role of notation in science
	 expressivity
	 subordination of detail
	 economy
	 amenability to proof
	The impact of computing on notation
	 executability
	 representability of algorithms
	The difficulties with programming languages

 Computation and interaction
	The relationship between language and its medium
	 why computing languages cannot be separated
	   from the programming environment
	 cf. conversation and understanding
	The polarization between interaction and discipline
	 in whose province does discipline lie?
	   the language designer: Pascal
           the individual: LISP

 Examples of language philosophy

	 LOGO, Smalltalk, LISP
	   the notion of abstract objects. 
 	    LOGO turtles.
--------------------------------------------------------------

WEEK 2: A DETAILED DISCUSSION OF THE PHENOMENON OF COMPUTATION.

Reading: "Mindstorms", Chapter 4
         "Godel, Escher, Bach": on formalisms

Lab: Mince 
     LOGO

Lectures:
 
   The language: functions and data
 	Data domain: The whole numbers
	Algorithmic notation
	 conditional expressions
	 definitions
	   recursion
	 numerical examples
   computation as deduction
	   axioms for number 
	   rules of inference
	     substitution and simplification rules
		for numeric operations
		for conditional
   computation as controlled deduction
	  substitution strategies and termination
            simplification as substitutivity of =
	    indistinguishibility of = objs.
   truth, computation, and deduction
	  what is truth?
	  truth versus deduction
--------------------------------------------------------------

WEEK 3: AN INVESTIGATION OF OBJECTS AND THEIR IMPLEMENTATION.

Reading: Class notes on LISP and LOGO

Lab: LISP

Lectures: The extension of the notions to non-numeric objects

   Data domains: abstract objects
	 constructors, selectors, and recognizers

   Data Domain: graphics
	 LOGO and Turtle geometry
	abstraction and representation:
	      finite sets  →representation→ finite sequences
                 ↓↓↓ 			         ↓↓↓
	  sets build functions     sequences build computation

   Data Domain: symbolic expressions
	 the representability of programs
	The mapping of expressions to data structures
	Non-numeric computation: examples
	  evaluation of polynomials
	  simplification of algebraic expressions
	  turtle geometry
--------------------------------------------------------------

WEEK 4: USING COMPUTATION TO STUDY COMPUTATION: 
         A "Strange Loop"(Godel, Escher, Bach).

Reading: Class notes on LISP
	 "Godel, Escher, Bach" on strange loops

Lab: LISP

Lectures:

   Evaluation
 	Deduction vs computation, again
	 systems for substitution and simplification
	  simulation of substitution by symbol tables
	    symbol tables as objects
	Representability of programs
	 use versus mention
	An evaluation algorithm
	 The operational view
	Implementation strategies
	 simulation of substitution
	Extending the evaluator
   A modern LISP: an object-oriented language
 	The idea of "first-class data"
	implementation-driven languages violate notational principles
	abstract object: their representation revisited.
--------------------------------------------------------------

WEEK 5: OBJECT-ORIENTED PROGRAMMING AND MESSAGE-PASSING.

Reading: Smalltalk Papers (available August 1981)
         "Mindstorms", Chapters 5-6
         Class notes on LISP and Smalltalk

Lab: LISP and Smalltalk (should be available then)

Lectures:

   Object-oriented programming  with Message-passing.
  	Smalltalk and Actors
	 the languages and examples of their application
	 the notion of message-passing
   Classes and Heirarchies
	the superstructure of classes
	their relationship to data types in other languages
   Relationship between message-passing and functional programming.
--------------------------------------------------------------

WEEK 6: ARTIFICIAL INTELLIGENCE AND ITS IMPLICATIONS.

Reading: "Computer Power and Human Reason"
         "Mindstorms", Chapters 7-8
	 "Technics and Civilization"
	 "Godel, Escher, Bach" on AI

Lab: LISP, Smalltalk, and LOGO examples
     applications packages: Mu-Math, and Visicalc
     simple "understanding programs": Zork

Lectures:
   What constitutes an AI system?
	the knowledge base: facts and rules
	the utilization of the information: pattern matching
	the control of the system: goal-directed deduction
	the introspection: justifications and programs as data
	the interface: natural language
   Where's the "intelligence"? 
	can systems explan their actions: responsible systems?
	can systems learn? can they be told?
	is the whole greater than the sum of its parts?
   AI: threat or promise?
--------------------------------------------------------------

WEEK 7: HISTORY, PHILOSOPHY, MATHEMATICS, AND COMPUTATION.

Reading: "Mindstorms", Epilogue
	 "Decline of the West"

Lab: LISP and Smalltalk projects

Lectures:
   The arts-sciences dichotomy: real or imagined
   The view of mathematics in cultures
    Classical - geometric - sense data
    Western   - functional - space
    Computer  - computational - abstract objects
   The foundations of science: abstraction and discretely distinct objects
    sense data and chronological time: clocks
    sense data and mechanics: Newtonian physics
   Traditional logics versus reality
    logics for AI
--------------------------------------------------------------

WEEK 8: QUALITY AND QUANTITY: ART AND SCIENCE.

Reading: "Decline of the West"
	 "Analytical Economics"

Lab: LISP and Smalltalk projects

Lectures:
   Logics for reality: how to handle dialectical concepts
	non-monotonic reasoning

   Artificial Intelligence as a "humanistic" endeavor
	a sympathetic (as compared to Weizenbaum) interpretation
	 of the AI field.
   

--------------------------------------------------------------

WEEK 9 - 10:  GUEST SPEAKERS AND SUMMARY

Lab: speakers may be scheduled during this time.


--------------------------------------------------------------


SOFTWARE:  Mince:    A display-based editor (Mince Is Not Complete Emacs)
	   LOGO:     Graphics-based  functional language.
	   LISP:     Object-oriented  functional programming language for AI.
	   Visicalc: An elegant display-based business package with AI underpinnings.
	   Mu-math:  Symbolic mathematics package.
	   Zork:     Computer version of a Dungeons and Dragons-like game exhibiting
		     a good natural language interface and illustrating
         	     a very complex program on a small machine.

	Other software could be made available: UCSD Pascal, data-base languages,
	or more traditional programming systems.
			      QUALIFICATIONS

Though a  detailed resume  does not  seem necessary,  a short  discussion of  my
qualifications and reasons for proposing this course does seem appropriate.

I am educated  and trained  in mathematics,  logic, and  computer science;  over
twenty years in the latter field. I have done research and work in the areas  of
artificial intelligence, its theory, practice,  and the design of languages  and
machine architectures  for such  ventures.  Before teaching  at Santa  Clara,  I
taught for two  years at UCLA  as assistant professor  of computer science,  and
have also taught mathematics and computer science at the Santa Barbara and Santa
Cruz campuses of  UC, and at  San Jose  State University. I  have published  the
major book on LISP, the mainstay language of artificial intelligence.

In the last  several years  I have become  increasingly anxious  about the  real
misuse and misunderstanding  of existing computers,  and the potential  problems
that  await  us   as  computers   become  more  ubiquitous   and  perhaps   more
"intelligent.".   I  see  these   difficulties  as  resulting  from   ignorance;
unfortunate ignorance, since the  computing notions that  support even our  most
advanced computers are no  more complex that those  needed to grasp high  school
algebra.  I immediate concern is to expose students to these ideas so that  they
may make informed decisions  for themselves. My longer  range goals involve  the
packaging of these ideas in a form that will be within the grasp of high  school
level students.  It is here that computational ideas, presented in the guise  of
personal computing,  offer  much potential  to  revitalize the  mathematics  and
sciences curricula.

Indeed, moves in this direction  are already afoot. At  MIT, the LOGO group  has
developed a primary  grade program  to teach "thinking".  Some of  this work  is
documented in "Mindstorms", referenced in the bibliography; I strongly recommend
this book. Furthermore, the  MIT experience with LOGO  is being expanded into  a
program to reform  the MIT undergraduate  mathematics and physics  core. That  a
major, scientifically inclined,  university would  consider curriculum  revision
using a language designed for "kids of all ages", speaks highly of the approach.

On the west coast,  Xerox's research establishment in  Palo Alto has, for  about
ten years, been developing a  LOGO derivative called Smalltalk.  This  language,
again, spans a wide  range of applications:   secondary grade students,  working
artists, animators, and muscians, and office automation software.

Both of these efforts are encouraging, however neither deals explicitly with the
fundamental  issues  of  computing,  rather  stressing  epistemology  (LOGO)  or
applications (Smalltalk). A detailed treatment of the kernel ideas of  computing
has  not been attempted; it is this area that holds the fundamental  principles;
it is this area that I am developing:  the fundamental principles of computation
and their effect on society.